package com.zhangxu.microservice.system.biz.convert;

import com.zhangxu.microservice.system.biz.dto.CreateRoleDTO;
import com.zhangxu.microservice.system.biz.dto.RoleDTO;
import com.zhangxu.microservice.system.biz.dto.UpdateRoleDTO;
import com.zhangxu.microservice.system.dao.entity.RoleDO;
import org.mapstruct.Mapper;

import java.util.List;

/**
 * 角色对象转换接口
 */
@Mapper(componentModel = "spring")
public interface RoleConverter {

    /**
     * RoleDO 转 RoleDTO
     *
     * @param roleDO 角色DO
     * @return 角色DTO
     */
    RoleDTO toRoleDTO(RoleDO roleDO);

    /**
     * RoleDO列表 转 RoleDTO列表
     *
     * @param roleDOList 角色DO列表
     * @return 角色DTO列表
     */
    List<RoleDTO> toRoleDTOList(List<RoleDO> roleDOList);

    /**
     * CreateRoleDTO 转 RoleDO
     *
     * @param createRoleDTO 创建角色DTO
     * @return 角色DO
     */
    RoleDO toRoleDO(CreateRoleDTO createRoleDTO);

    /**
     * UpdateRoleDTO 转 RoleDO
     *
     * @param updateRoleDTO 更新角色DTO
     * @return 角色DO
     */
    RoleDO toRoleDO(UpdateRoleDTO updateRoleDTO);
}